/**给你一个由若干 0 和 1 组成的字符串 s ，请你计算并返回将该字符串分割成两个 非空 子字符串（即 左 子字符串和 右 子字符串）
 所能获得的最大得分。 「分割字符串的得分」为 左 子字符串中 0 的数量加上 右 子字符串中 1 的数量。*/
class Solution {
    public int maxScore(String s) {
        int maxScore = 0;
        int nums1 = 0;      //统计字符为1的个数
        for (int i = 0;i<s.length();i++){
            if (s.charAt(i) == '1'){
                nums1++;
            }
        }

        //遍历切分点，计算最大分数
        int left0 = 0;
        int left1 = 0;
        for(int i = 0;i<s.length()-1;i++){
           if(s.charAt(i)=='0'){
               left0++;
           } else if (s.charAt(i) == '1') {
               left1++;
           }
            //计算分数
            maxScore = Math.max(maxScore,left0+nums1-left1);
        }
        return maxScore;
    }
}